package com.gsd.swagger.anno;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Target 描述当前的注解可以定义在什么资源上。
 *   属性value
 *     定义资源包括：
 *       -ElementType.METHOD 可以定义在方法上
 *       -ElementType.TYPE 可以定义在类型上
 *       -ElementType.FIELD 可以定义在属性上
 *       -ElementType.PARAMETER 可以定义在方法参数
 *
 * @Retention -当前注解什么时候有效
 *    属性value
 *      -定义具体的生效标记
 *         -RetentionPolicy.RUNTIME -运行时有效
 *         -RetentionPolicy.SOURCE -源码中有效
 *         -RetentionPolicy.SOURCE -字节码有效
 */
@Target(value  ={ElementType.METHOD,ElementType.TYPE } )
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation4Swagger {

    //自定义注解中的属性。相当于@MyAnnotation4Swagger(value="")
    String value() default  "";

}
